package me.helllp.dake.iam.core.service;

import me.helllp.dake.common.exception.DakeDataExistedException;
import me.helllp.dake.core.bean.DakeAuthAccount;
import me.helllp.dake.iam.core.dto.TenantDto;

public interface ITenantService {
    /**
     * 创建租户
     *
     * @param account 登录用户
     * @param tenantDto 租户信息
     * @return 租户ID
     */
    Long createTenant(DakeAuthAccount account, TenantDto tenantDto) throws DakeDataExistedException;

    /**
     * 删除租户
     *
     * @param account 登录用户
     * @param tenantId 租户ID
     * @return 是否成功
     */
    Boolean deleteTenant(DakeAuthAccount account, Long tenantId);

    /**
     * 修改租户
     *
     * @param account 登录用户
     * @param tenantDto 租户信息
     * @return 是否成功
     */
    Boolean modifyTenant(DakeAuthAccount account, TenantDto tenantDto);
}
